//---------------------------------------------------------------------
// CascadeSharp
// General Public License V2
//---------------------------------------------------------------------

using System;
using CascadeSharp.TKernel.TColStd;
using CascadeSharp.TKGeomBase.AppParCurves;
using CascadeSharp.TKGeomBase.Approx;
using CascadeSharp.TKMath.math;

namespace CascadeSharp.TKGeomBase.AppDef
{
    //---------------------------------------------------------------------
    //  Class  AppDef_BSplineCompute
    //---------------------------------------------------------------------
    public sealed class AppDef_BSplineCompute
    {
        public AppDef_BSplineCompute(AppDef_MultiLine Line, int degreemin, int degreemax, double Tolerance3d,
            double Tolerance2d, int NbIterations, bool cutting, Approx_ParametrizationType parametrization,
            bool Squares)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(AppDef_MultiLine Line, int degreemin, int degreemax, double Tolerance3d,
            double Tolerance2d, int NbIterations, bool cutting, Approx_ParametrizationType parametrization)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(AppDef_MultiLine Line, int degreemin, int degreemax, double Tolerance3d,
            double Tolerance2d, int NbIterations, bool cutting)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(AppDef_MultiLine Line, int degreemin, int degreemax, double Tolerance3d,
            double Tolerance2d, int NbIterations)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(AppDef_MultiLine Line, int degreemin, int degreemax, double Tolerance3d,
            double Tolerance2d)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(AppDef_MultiLine Line, int degreemin, int degreemax, double Tolerance3d)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(AppDef_MultiLine Line, int degreemin, int degreemax)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(AppDef_MultiLine Line, int degreemin)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(AppDef_MultiLine Line)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(AppDef_MultiLine Line, Vector Parameters, int degreemin, int degreemax,
            double Tolerance3d, double Tolerance2d, int NbIterations, bool cutting, bool Squares)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(AppDef_MultiLine Line, Vector Parameters, int degreemin, int degreemax,
            double Tolerance3d, double Tolerance2d, int NbIterations, bool cutting)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(AppDef_MultiLine Line, Vector Parameters, int degreemin, int degreemax,
            double Tolerance3d, double Tolerance2d, int NbIterations)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(AppDef_MultiLine Line, Vector Parameters, int degreemin, int degreemax,
            double Tolerance3d, double Tolerance2d)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(AppDef_MultiLine Line, Vector Parameters, int degreemin, int degreemax,
            double Tolerance3d)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(AppDef_MultiLine Line, Vector Parameters, int degreemin, int degreemax)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(AppDef_MultiLine Line, Vector Parameters, int degreemin)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(AppDef_MultiLine Line, Vector Parameters)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(Vector Parameters, int degreemin, int degreemax, double Tolerance3d,
            double Tolerance2d, int NbIterations, bool cutting, bool Squares)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(Vector Parameters, int degreemin, int degreemax, double Tolerance3d,
            double Tolerance2d, int NbIterations, bool cutting)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(Vector Parameters, int degreemin, int degreemax, double Tolerance3d,
            double Tolerance2d, int NbIterations)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(Vector Parameters, int degreemin, int degreemax, double Tolerance3d,
            double Tolerance2d)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(Vector Parameters, int degreemin, int degreemax, double Tolerance3d)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(Vector Parameters, int degreemin, int degreemax)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(Vector Parameters, int degreemin)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(Vector Parameters)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(int degreemin, int degreemax, double Tolerance3d, double Tolerance2d,
            int NbIterations, bool cutting, Approx_ParametrizationType parametrization, bool Squares)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(int degreemin, int degreemax, double Tolerance3d, double Tolerance2d,
            int NbIterations, bool cutting, Approx_ParametrizationType parametrization)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(int degreemin, int degreemax, double Tolerance3d, double Tolerance2d,
            int NbIterations, bool cutting)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(int degreemin, int degreemax, double Tolerance3d, double Tolerance2d,
            int NbIterations)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(int degreemin, int degreemax, double Tolerance3d, double Tolerance2d)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(int degreemin, int degreemax, double Tolerance3d)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(int degreemin, int degreemax)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(int degreemin)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute(AppDef_BSplineCompute parameter1)
            : base()
        {
            throw new NotImplementedException();
        }

        public AppDef_BSplineCompute()
        {
            throw new NotImplementedException();
        }

        public void Interpol(AppDef_MultiLine Line)
        {
            throw new NotImplementedException();
        }

        public void Init(int degreemin, int degreemax, double Tolerance3d, double Tolerance2d, int NbIterations,
            bool cutting, Approx_ParametrizationType parametrization, bool Squares)
        {
            throw new NotImplementedException();
        }

        public void Init(int degreemin, int degreemax, double Tolerance3d, double Tolerance2d, int NbIterations,
            bool cutting, Approx_ParametrizationType parametrization)
        {
            throw new NotImplementedException();
        }

        public void Init(int degreemin, int degreemax, double Tolerance3d, double Tolerance2d, int NbIterations,
            bool cutting)
        {
            throw new NotImplementedException();
        }

        public void Init(int degreemin, int degreemax, double Tolerance3d, double Tolerance2d, int NbIterations)
        {
            throw new NotImplementedException();
        }

        public void Init(int degreemin, int degreemax, double Tolerance3d, double Tolerance2d)
        {
            throw new NotImplementedException();
        }

        public void Init(int degreemin, int degreemax, double Tolerance3d)
        {
            throw new NotImplementedException();
        }

        public void Init(int degreemin, int degreemax)
        {
            throw new NotImplementedException();
        }

        public void Init(int degreemin)
        {
            throw new NotImplementedException();
        }

        public void Init()
        {
            throw new NotImplementedException();
        }

        public void Perform(AppDef_MultiLine Line)
        {
            throw new NotImplementedException();
        }

        public void SetParameters(Vector ThePar)
        {
            throw new NotImplementedException();
        }

        public void SetKnots(TColStd_Array1OfReal Knots)
        {
            throw new NotImplementedException();
        }

        public void SetKnotsAndMultiplicities(TColStd_Array1OfReal Knots, TColStd_Array1OfInteger Mults)
        {
            throw new NotImplementedException();
        }

        public void SetDegrees(int degreemin, int degreemax)
        {
            throw new NotImplementedException();
        }

        public void SetTolerances(double Tolerance3d, double Tolerance2d)
        {
            throw new NotImplementedException();
        }

        public void SetContinuity(int C)
        {
            throw new NotImplementedException();
        }

        public void SetConstraints(AppParCurves_Constraint firstC, AppParCurves_Constraint lastC)
        {
            throw new NotImplementedException();
        }

        public void SetPeriodic(bool thePeriodic)
        {
            throw new NotImplementedException();
        }

        public bool IsAllApproximated()
        {
            throw new NotImplementedException();
        }

        public bool IsToleranceReached()
        {
            throw new NotImplementedException();
        }

        public void Error(ref double tol3d, ref double tol2d)
        {
            throw new NotImplementedException();
        }

        public AppParCurves_MultiBSpCurve Value()
        {
            throw new NotImplementedException();
        }

        public AppParCurves_MultiBSpCurve ChangeValue()
        {
            throw new NotImplementedException();
        }

        public TColStd_Array1OfReal Parameters()
        {
            throw new NotImplementedException();
        }

        public bool Compute(AppDef_MultiLine Line, int fpt, int lpt, Vector Para, TColStd_Array1OfReal Knots,
            TColStd_Array1OfInteger Mults)
        {
            throw new NotImplementedException();
        }

        public bool ComputeCurve(AppDef_MultiLine Line, int firspt, int lastpt)
        {
            throw new NotImplementedException();
        }

        public void Parameters(AppDef_MultiLine Line, int firstP, int LastP, Vector TheParameters)
        {
            throw new NotImplementedException();
        }

        public double SearchFirstLambda(AppDef_MultiLine Line, Vector Para, TColStd_Array1OfReal Knots,
            Vector V, int index)
        {
            throw new NotImplementedException();
        }

        public double SearchLastLambda(AppDef_MultiLine Line, Vector Para, TColStd_Array1OfReal Knots,
            Vector V, int index)
        {
            throw new NotImplementedException();
        }

        public void TangencyVector(AppDef_MultiLine Line, AppParCurves_MultiCurve C, double U, Vector V)
        {
            throw new NotImplementedException();
        }

        public void FirstTangencyVector(AppDef_MultiLine Line, int index, Vector V)
        {
            throw new NotImplementedException();
        }

        public void LastTangencyVector(AppDef_MultiLine Line, int index, Vector V)
        {
            throw new NotImplementedException();
        }

        public void FindRealConstraints(AppDef_MultiLine Line)
        {
            throw new NotImplementedException();
        }
    }; // class AppDef_BSplineCompute
}